package cdu.sl.aichatdemo.service;


import cdu.sl.aichatdemo.pojo.dto.user.UserLoginDTO;
import cdu.sl.aichatdemo.pojo.dto.user.UserRegisterDTO;
import cdu.sl.aichatdemo.pojo.dto.user.UserUpdateInfoDTO;
import cdu.sl.aichatdemo.pojo.vo.UserLoginVO;
import cdu.sl.aichatdemo.pojo.vo.UserProfileVO;

public interface UserService {

    void sendRegisterVerificationCode(String email);

    void sendLoginVerificationCode(String email);

    void register(UserRegisterDTO userRegisterDTO);

    UserLoginVO login(UserLoginDTO userLoginDTO);

    UserProfileVO getDetails(Long userId);

    String exchangeToken(String refreshToken);

    UserProfileVO update(UserUpdateInfoDTO userUpdateInfoDTO, Long userId);

    UserLoginVO verificationCodeLogin(UserLoginDTO userLoginDTO);
}
